package org.slg.oracleproject.exception;

/**
 * 自定义业务异常类
 * 用于封装业务逻辑中出现的异常（如登录失败、权限不足等）
 */
public class BusinessException extends RuntimeException {

    // 可选：错误码（用于前端根据错误码做不同处理）
    private Integer code;

    /**
     * 仅包含错误信息的构造方法
     * @param message 错误信息
     */
    public BusinessException(String message) {
        super(message);
    }

    /**
     * 包含错误码和错误信息的构造方法
     * @param code 错误码
     * @param message 错误信息
     */
    public BusinessException(Integer code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * 包含错误信息和原始异常的构造方法（用于异常链传递）
     * @param message 错误信息
     * @param cause 原始异常
     */
    public BusinessException(String message, Throwable cause) {
        super(message, cause);
    }

    // Getter方法（获取错误码）
    public Integer getCode() {
        return code;
    }
}

